#ifndef UNIT_H_
#define UNIT_H_

#include <sstream>


struct Unit
{
    Unit(const std::string& name, unsigned int factor, const Unit* referenceUnit);

    unsigned int toBase() const;

    std::string  toString() const;
    std::string  toBaseString() const;

    const Unit*  nextUnit() const;

private:
    unsigned int factor;
    const Unit*  referenceUnit;
    std::string  name;
};


#endif
